package com.ainote.config;

import org.springframework.context.annotation.Configuration;
import org.springframework.web.servlet.config.annotation.ResourceHandlerRegistry;
import org.springframework.web.servlet.config.annotation.WebMvcConfigurer;

import org.springframework.beans.factory.annotation.Value; // 【新增】引入 Value

@Configuration
public class WebMvcConfig implements WebMvcConfigurer {

    // 【优化】使用 @Value 注入 application.properties 中的路径
    @Value("${asr.baidu.merge_dir}")
    private String fileStorageDir;

    @Override
    public void addResourceHandlers(ResourceHandlerRegistry registry) {
        // 确保路径以 file:/ 开头并以 / 结尾，这在 Windows 绝对路径下是推荐的写法。
        // 因为 fileStorageDir 的值是 E:/code/.../recordingFile
        String resourceLocation = "file:" + fileStorageDir + "/";

        // 1. URL 路径：当外部请求访问 /uploads/merge/** 时
        // 2. 本地资源路径：Spring 会将请求映射到 FILE_STORAGE_PATH 目录下寻找文件
        // 1. URL 路径：当外部请求访问 /uploads/merge/** 时 (这是百度请求的路径)
        // 2. 本地资源路径：Spring 会将请求映射到 resourceLocation 目录下寻找文件
        // -------------------------------------------------------------
        // **注意:** /uploads/merge/ 是 BaiduAsrService 构造 Ngrok URL 时的路径。
        // -------------------------------------------------------------
        registry.addResourceHandler("/uploads/merge/**")
                .addResourceLocations(resourceLocation);
    }
}